<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    let a = 2;
    let b = 4; {
      // 最原始的方法
      console.log(`${a} === ${b}`);
      let t = null;
      t = a;
      a = b;
      b = t;
      console.log(`${a} === ${b}`);
    }; {
      // 根据运算符优先级，首先执行b=a，此时的b直接得到了a的变量值，然后一步数组索引让a得到了b的值（简直不能再厉害）
      a = [b, b = a][0];
      console.log(`${a} === ${b}`);
    }; {
      // 使用es6的语法，解构的方法
      [a, b] = [b, a];
    }; {
      // 使用数组的方法
      a = [a, b];
      b = [a];
      a = a[1];

      // 使用对象的方法
      a = {
        a: b,
        b: a
      };
      b = a.b;
      a = a.a;
    }
  </script>
</body>

</html>